package domain;

/**
 * Trieda predstavujuca zaznam v tabulke UCET. 
 * @author PeterCagan
 */
public class UCET {
	
	private IntegerAtribut ID_Uctu;
	private IntegerAtribut ID_Klienta;
	private IntegerAtribut ID_Pobocky;
	private Atribut DatVyt;
	private Atribut DatZrus;
	private DoubleAtribut ZostNaUcte;
	
	/**
	 * Konstruktor pre vytvorenie instancie triedy UCET. 
	 */
	public UCET(Integer IDuctu, Integer IDkl, Integer IDp, String datv, String datz, Double zostnau){
		ID_Uctu = new IntegerAtribut(IDuctu);
		ID_Klienta = new IntegerAtribut(IDkl);
		ID_Pobocky = new IntegerAtribut(IDp);
		DatVyt = new Atribut(datv);
		DatZrus = new Atribut(datz);
		ZostNaUcte = new DoubleAtribut(zostnau);
	}
	
	/**
	 * Vrati atribut ID_Pobocky. 
	 * @return Hodnota typu IntegerAtribut.
	 */
	public IntegerAtribut getIDpob(){return ID_Pobocky;}
	
	/**
	 * Vrati atribut ID_Uctu. 
	 * @return Hodnota typu IntegerAtribut.
	 */
	public IntegerAtribut getIDuctu(){return ID_Uctu;}
	
	/**
	 * Vrati atribut ID_Klienta. 
	 * @return Hodnota typu IntegerAtribut.
	 */
	public IntegerAtribut getIDklienta(){return ID_Klienta;}
	
	/**
	 * Vrati atribut DatVyt.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getDatVyt(){return DatVyt;}
	
	/**
	 * Vrati atribut DatZrus.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getDatZrus(){return DatZrus;}
	
	/**
	 * Vrati atribut ZostNaUcte.
	 * @return Hodnota typu DoubleAtribut.
	 */
	public DoubleAtribut getZostNaU(){return ZostNaUcte;}

	/**
	 * Vrati String, ktory predstavuje tabulku, atributy a hodnoty atributov pri inserte do tabulky UCET na uzloch. Format: ".TABLE(atribut,atribut,...) VALUE(hodnota,hodnota,...)"
	 * @return Hodnota typu String.
	 */
	public String getInsTabValN(){
		String tabval = ".UCET(ID_KLIENT, ID_POBOCKA, ZOST_UCET) VALUES(" + getIDklienta().getIA() + "," +  getIDpob().getIA() 
						+ "," + getZostNaU().getDA() +")";
		return tabval;
	}
	
}
